package com.tanjun.web.service;

import cn.hutool.core.collection.CollUtil;
import com.tanjun.common.enums.err.LoginErrCode;
import com.tanjun.common.exception.BizException;
import com.tanjun.common.model.LoginUserInfo;

import java.util.List;

public class LoginUserUtil {


    /**
     * 获取用户信息
     * @return 用户信息
     */
    public static LoginUserInfo getLoginUserInfo() {
        LoginUserInfo loginUserInfo= LoginUserContext.getLoginUserInfo();
        if (loginUserInfo==null) {
            throw new BizException(LoginErrCode.NOT_LOGIN);
        }
        return loginUserInfo;
    }

    /**
     * 获取操作人员信息
     * @return
     */
    public static String getAdminOperate(){
        return getLoginUserInfo().getUserName()+":"+getLoginUserInfo().getUserCode();
    }

    /**
     * 获取用户权限
     * @return
     */
    public static List<String> getUserPermission(){
        List<String> permissions= LoginUserContext.getPermission();
        if(CollUtil.isEmpty(permissions)){
            throw new BizException(LoginErrCode.NOT_PERMISSION);
        }
        return permissions;
    }

    /**
     * 获取用户角色
     * @return 用户角色
     */
    public static List<String> getUserRoles(){
        List<String> roles= LoginUserContext.getUserRoles();
        if(CollUtil.isEmpty(roles)){
            throw new BizException(LoginErrCode.NOT_LOGIN);
        }
        return roles;
    }

}
